botocoreで対応していないリージョンを追加する
AWSのスピードに追従する
AWSは次々と新サービスが出ており、順次世界展開されています。AWSを操作するSDK群も同じように次々と出ています。今回は、そんな高速なリリースにSDKやツール対応が間に合っていない場合の付け焼き刃な対応についてご紹介したいと思います。
CloudSearch対応が...
最近CloudSearchを使うことが多いのですが、日本対応したはずのCloudSeachがコマンドラインツールから使えません。
$ aws cloudsearch describe-domains Service cloudsearch not available in region ap-northeast-1
そこで、awscliの内部で使われているbotocoreを修正してみましょう。以下はMacOSXの場合です。
$ cd /Library/Python/2.7/site-packages/botocore/data/aws/cloudsearch $ sudo vi 2013-01-01.json
以下のような部分が出てきます。
"metadata": { "regions": { "us-east-1": null, "us-west-1": null, "us-west-2": null, "eu-west-1": null, "ap-southeast-1": null },
ここにap-northeast-1を追加します。
"metadata": { "regions": { "us-east-1": null, "us-west-1": null, "us-west-2": null, "eu-west-1": null, "ap-southeast-1": null, "ap-northeast-1": null },
それでは、もう1回実行してみましょう。
$ aws cloudsearch describe-domains { "DomainStatusList": [] }
いい感じにAPIを実行できましたね。
まとめ
本件は、中の人 @j3tm0t0 さんに教えてもらいました!